package com.fdb.basic.framework.core.util;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.fdb.basic.framework.core.exception.ESBException;

/**
 * 接口校验工具类
 * 
 * @author huangwb
 * @since 2018年12月18日 下午8:34:45
 * @version 1.0
 */
public class InterfaceCheckUtils {
	private static Logger logger = LoggerFactory.getLogger(InterfaceCheckUtils.class);

	/**
	 * 校验接口字段是否必输，并返回对应的值<br>
	 * 示例："CRE_ADDRESS", "证件地址", reqLoanAppBean.getCreAddress(), true
	 * 
	 * @param sEnName
	 *            接口字段英文名称
	 * @param sCnName
	 *            接口字段中文名称
	 * @param sValue
	 *            接口传入的值
	 * @param flag
	 *            是否必输
	 * @return
	 * @throws Exception
	 * @author huangwb
	 * @since 2018年12月18日 下午8:57:19
	 * @version 1.0
	 */
	public static Object getValue(String sEnName, String sCnName, Object sValue, boolean flag) throws ESBException {
		if (flag) {
			if (sValue == null || sValue.equals("")) {
				logger.error("接口字段【" + sEnName + "】【名称：" + sCnName + "】【值：" + sValue + "】【必须：" + flag + "】的值为空");
				throw new ESBException("接口字段【" + sEnName + "】【名称：" + sCnName + "】【值：" + sValue + "】【必须：" + flag + "】的值为空");
			}
		}
		logger.info("校验接口字段【" + sEnName + "】【名称：" + sCnName + "】【值：" + sValue + "】【必须：" + flag + "】的值通过");
		return sValue;
	}
}
